A Framework for Portable Shared Memory Programming
نویسندگان
چکیده
Widespread adaptation of shared memory programming for High Performance Computing has been inhibited by a lack of standardization and the resulting portability problems between platforms and APIs. In this paper we present the HAMSTER framework, which helps overcome these problems via cross-platform support and easy retargetability to a wide range of programming models. HAMSTER currently supports models ranging from thread APIs to onesided put/get interfaces, all on top of a single, core middleware architecture. The HAMSTER framework allows programmers to use any of these models — without modification — on top of SMPs, NUMA-like clusters, and Beowulf systems. In addition, our experiments show that HAMSTER achieves this flexibility and portability without sacrificing performance.
منابع مشابه
Porting Pvm to a Shared-memory Industrial Multiprocessor
Abstract The paper presents the experience of porting the PVM message-passing environment to EMMA2E, an industrial, shared-memory multiprocessor architecture. The work is still ongoing in the framework of the ESPRIT "EUROPORT2" project, aiming to demonstrate practical availability of portable parallel applications with related industrial and commercial benefits. The project framework, the EMMA2...
متن کاملCommunication Analysis for Shared and Distributed Memory Machines
Advances in programming languages and parallelizing compilers are making parallel computers easier to use by providing a high-level portable programming model that protects software investment. However, experience has shown that simply finding parallelism is not always sufficient for obtaining good performance from today’s multiprocessors, largely because the cost of interprocessor communicatio...
متن کاملJava-Based DSM with Object-Level Coherence Protocol Selection
This paper describes a Java-based distributed shared memory system (DSM) that simultaneously supports multiple coherence protocols. Coherence is enforced at the object level, and programmers can select the desired policy at object-creation time. Our work extends the Aleph Toolkit [1], a framework for distributed computing in Java. Since Aleph and our extensions are written in pure Java, the sys...
متن کاملARMCI: A Portable Remote Memory Copy Library for Distributed Array Libraries and Compiler Run-time Systems
This paper introduces a new portable communication library called ARMCI. ARMCI provides one-sided communication capabilities for distributed array libraries and compiler run-time systems. It supports remote memory copy, accumulate, and synchronization operations optimized for non-contiguous data transfers including strided and generalized UNIX I/O vector interfaces. The library has been employe...
متن کاملPLASMA: Portable Programming for SIMD Heterogeneous Accelerators
Data-parallel accelerators have emerged as highperformance alternatives to general-purpose processors for many applications. The Cell BE, GPUs from NVIDIA and ATI, and the like can outperform conventional superscalar architectures, but only for applications that can take advantage of these accelerators’ SIMD architectures, large number of cores, and local memories. Coupled with the SIMD extensi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003